package com.hongpu.controller;

import com.hongpu.domain.CoolTowerProjectAttendance;
import com.hongpu.dto.CoolTowerProjectAttendanceInfoDto;
import com.hongpu.dto.CoolTowerProjectAttendancePageDto;
import com.hongpu.service.CoolTowerProjectAttendanceService;
import com.hongpu.utils.ResultDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 冷却塔安装人员考勤打卡
 *
 * @author 张玉胜
 * @since 2025年06月13日
 */
@RestController
@RequestMapping("/coolTowerProjectAttendance")
public class CoolTowerProjectAttendanceController {
    @Autowired
    CoolTowerProjectAttendanceService coolTowerProjectAttendanceService;

    /**
     * 工数下拉列表
     */
    @GetMapping("/optionList")
    public ResultDto optionList() {
        return coolTowerProjectAttendanceService.optionList();
    }


    /**
     * 新增
     */
    @PostMapping("/add")
    public ResultDto add(@RequestBody CoolTowerProjectAttendance coolTowerProjectAttendance){
        return coolTowerProjectAttendanceService.add(coolTowerProjectAttendance);
    }

    /**
     * 分页
     */
    @PostMapping("/page")
    public ResultDto page(@RequestBody CoolTowerProjectAttendancePageDto coolTowerProjectAttendance){
       return coolTowerProjectAttendanceService.page(coolTowerProjectAttendance);
    }
    /**
     * 获取某个员工在项目的具体某一天的打卡信息
     */
    @PostMapping("/coolTowerProjectAttendanceInfo")
    public ResultDto coolTowerProjectAttendanceInfo(@RequestBody CoolTowerProjectAttendanceInfoDto coolTowerProjectAttendanceInfoDto){
        return coolTowerProjectAttendanceService.coolTowerProjectAttendanceInfo(coolTowerProjectAttendanceInfoDto);
    }
    /**
     * 修改某个员工在项目的某天打卡信息
     */
    @PostMapping("/update")
    public ResultDto update(@RequestBody CoolTowerProjectAttendance coolTowerProjectAttendance){
        return coolTowerProjectAttendanceService.update(coolTowerProjectAttendance);
    }
    /**
     * 快速打卡
     */
    @PostMapping("/quickCheckIn")
    public ResultDto quickCheckIn(@RequestBody CoolTowerProjectAttendance coolTowerProjectAttendance){
        return coolTowerProjectAttendanceService.quickCheckIn(coolTowerProjectAttendance);
    }
    /**
     * 删除
     */
    @GetMapping("/delete/{id}")
    public ResultDto delete(@PathVariable("id") Long id){
        return coolTowerProjectAttendanceService.delete(id);
    }
}